home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 7
/
FM Towns Free Software Collection 7.iso
/
data
/
pvap322a
/
pvaponln.plp
< prev
next >
Wrap
Text File
|
1993-11-30
|
11KB
|
379 lines
/************************************************************************
* オンラインでの処理 *
************************************************************************/
/* 通信時間記録処理 */
%RECTIME{
%time @linetime;
%hh time/3600;
%hh @case(@nochar(hh),1,{im({0}|hh)},,{im(hh)});
%mm (time-time/3600*3600)/60;
%mm @case(@nochar(mm),1,{im({0}|mm)},,{im(mm)});
%ss time-time/60*60;
%ss @case(@nochar(ss),1,{im({0}|ss)},,{im(ss)});
write (LOGPATH|{\CONNECT.DAT},
{電話番号 }|ap|
{ 終了時間 }|@getdt|
{ 通信時間 }|hh|{時間}|mm|{分}|ss|{秒\n});
};
/* 受信待ちの設定 */
%WAIT {wait({60},STOP,{,J)=},,{,DL)=},,{,DLn)=},,{,Ftel)=},,{,UP)=},,
{,V)=},,{,C)=},,
{コマンド=},,
{番号またはコマンド=},,
{番号またはコマンド<FM>=},,
{番号またはコマンド<BM>=},);};
%WAITa {wait({60},STOP,{リターンキーを押して下さい=},{type({\n});WAITa},
{,J)=},,{,DL)=},,{,DLn)=},,{,Ftel)=},,{,UP)=},,
{,V)=},,{,C)=},,
{コマンド=},,
{番号またはコマンド=},
{番号またはコマンド<FM>=},,
{番号またはコマンド<BM>=},);};
%WAITrb{
loop({
wait({900},STOP,
{TLn,AP,PF,J)=},,
{コマンド<FM>=},);
wait({1});
case(@laststr({13}), {TLn,AP,PF,J)=},{im({No})},
{コマンド<FM>=},{im({No})},,
{im({Yes})});
});
};
/* 一定時間内に文字列が受信出来なかった場合の処理 */
%STOP{
SNDMSG({okasi_f.snd});
footnote({ホストの反応が鈍いです});
select({ホストの反応が鈍いです},
{10}, {case(REC,{Yes},{stoprec});
discon;
RECTIME;
stop},
{ 回線切断 },
{case(REC,{Yes},{stoprec});
discon;
RECTIME;
stop},
{ 手動切替 },{stop});
};
/* ログをジャンプコード別に保存の時の処理 */
%LOGSAVE{
case (SAVE,
{JUMPCODE},{case(preser,{ 1},
{mkdir2(LOGPATH|{\}|JUMP);
LOGFILE:=@crefile(LOGPATH|{\}|JUMP,{LOG});
receive(LOGPATH|{\}|JUMP|{\}|LOGFILE);
REC:={Yes}})});
};
/* 未読タイトル取得時のログ保存 */
%LOGSAVE2{
[Where]
mkdir2(TITLEPATH);
%TITLELOG @crefile2(TITLEPATH,{LOG});
case (Where={FORUM}||Where={BBS}||Where={KAIGI},
{Yes},{write(TITLEPATH|{\}|TITLELOG,
JUMP|{/}|Where|{/}|NUMBER2|{/\n})},
{No},{write(TITLEPATH|{\}|TITLELOG,
JUMP|{/}|Where|{/}|NUMBER2|{/}|MAINNUM|{/\n})});
receive(TITLEPATH|{\}|TITLELOG);
};
/* ログを全体で一つに保存の時の処理 */
%logsave{
case (SAVE,
{WHOLE},{case (preser,{ 1},
{REC:={Yes};
mkdir2(LOGPATH|{\VANLOG});
LOGFILE:=@crefile(LOGPATH|{\VANLOG},{LOG});
write (LOGPATH|{\VANLOG\}|LOGFILE,
{番号またはコマンド(H,Q,J)=});
receive(LOGPATH|{\VANLOG\}|LOGFILE)})});
};
/* ログをボード別に保存の時の処理(SIG・CUG用) */
%LogSave{
case (SAVE,
{BOARD},{case (preser,{ 1},
{mkdir2(LOGPATH|{\}|JUMP|{\}|WHERE|{\}|NUMBER2);
LOGFILE:=@crefile(LOGPATH|{\}|JUMP|
{\}|WHERE|{\}|NUMBER2,{LOG});
receive(LOGPATH|{\}|JUMP|{\}|WHERE|
{\}|NUMBER2|{\}|LOGFILE);
REC:={Yes}})});
};
/* ログをボード別に保存の時の処理(BBS用) */
%LogSave2{
case (SAVE,
{BOARD},{case (preser,{ 1},
{mkdir2(LOGPATH|{\}|JUMP|{\}|NUMBER2);
LOGFILE:=@crefile(LOGPATH|{\}|JUMP|
{\}|NUMBER2,{LOG});
receive(LOGPATH|{\}|JUMP|
{\}|NUMBER2|{\}|LOGFILE);
REC:={Yes}})});
};
/* 指定発言のログをボード別に保存の時の処理(SIG・CUG用) */
%LogSave3{
case (SAVE,
{BOARD},{case (preser,{ 1},
{mkdir2(LOGPATH|{\}|JUMP|{\}|WHERE|{\}|FORUM);
LOGFILE:=@crefile(LOGPATH|{\}|JUMP|
{\}|WHERE|{\}|FORUM,{LOG});
receive(LOGPATH|{\}|JUMP|{\}|WHERE|
{\}|FORUM|{\}|LOGFILE);
REC:={Yes}})});
};
/* 指定発言のログをボード別に保存の時の処理(BBS用) */
%LogSave4{
case (SAVE,
{BOARD},{case (preser,{ 1},
{mkdir2(LOGPATH|{\}|JUMP|{\}|FORUM);
LOGFILE:=@crefile(LOGPATH|{\}|JUMP|
{\}|FORUM,{LOG});
receive(LOGPATH|{\}|JUMP|
{\}|FORUM|{\}|LOGFILE);
REC:={Yes}})});
};
/* 未読が無かった場合の処理 */
%LOGDEL{
case (preser,{ 1},
{case (SAVE,
{JUMPCODE},
{case (B={Yes},
{No},
{display({\n}|JUMP|
{には未読の発言が}|
{ありませんでしたので}|
{ログを削除します\n});
delfile(LOGPATH|{\}|JUMP|{\}|LOGFILE)})})});
};
/* 不在通知の解除 */
%FUZAI {
footnote({不在通知を解除しています});
type({J MAIL\n});
wait({60},STOP, {よろしいですか(Y,N)=},{type({\n});WAIT},
{よろしいですか=},{type({\n});WAIT},
{番号またはコマンド=},,
{,J)=},);
type({5\n});
WAIT;
type({2\n});
wait({60},STOP, {よろしいですか(Y,N,J)=}, {type({\n})},
{よろしいですか=}, {type({\n})},
{不在者通知は設定されていません。},));
};
/* アップ・ダウンロードの処理 */
%UPDOWNLOAD{
%Filechk @filechk(TEMPPATH|{\PVAPUP.DAT});
case(Filechk,{Yes},{setcdir2(DIR1);#PVAPUP.PLP});
%Filechk @filechk(TEMPPATH|{\PVAPDOWN.DAT});
case(Filechk,{Yes},{setcdir2(DIR1);#PVAPDOWN.PLP});
};
/* 課金情報を見る */
%BILL1{
%BILL2{
footnote({課金情報を見ています});
%JUMP {RYOKIN};
type({J }|JUMP|{\n});
wait({60},STOP, {よろしいですか(Y,N)=},{type({\n});WAIT},
{よろしいですか=},{type({\n});WAIT},
{番号またはコマンド=},,
{,J)=},);
case (SAVE={JUMPCODE}||SAVE={BOARD},
{Yes}, {case (preser,{ 1},
{delfile(LOGPATH|{\料金情報.LOG});
receive(LOGPATH|{\料金情報.LOG});
REC:={Yes}})});
type({2\n});
WAITa;
case (SAVE={JUMPCODE}||SAVE={BOARD},
{Yes},{case(REC,{Yes},{REC:={No};stoprec})});
};
case (@getchar(@daylong,{16},{2})={07},
{No}, BILL2,
{Yes}, {display({\n7~8時の間は課金情報が見れません\n})});
};
/* ログアウト処理 */
%LOGOUT{
%logout{
footnote({ログアウトします});
type({Q\n});
case(REC,{Yes},{REC:={No};stoprec});
wait(30,STOP,{SEE YOU AGAIN},);
discon;
RECTIME;
SNDMSG({owata_f.snd});
};
logout;
case (TITCHECK,
{Yes}, {setcdir2(DIR1);#PVAPTITL.PLP;
%Filechk @filechk(TEMPPATH|{\PVAPDOWN.DAT});
case (Filechk,
{Yes},
{SNDMSG({erande_f.snd});
footnote({すぐにダウンロードしますか?});
select({すぐにダウンロードしますか?},
99999,,
{ する },
{setcdir2(DIR1);#PVAPLGIN.PLP;
logsave;
setcdir2(DIR1);#PVAPDOWN.PLP;
logout},
{ しない },)})});
case(Calami, {MOPT},{stopterm},
{PVAP},{setcdir(DIR1);stop},
{POFF},{command({POFF.COM})});
};
/* オンラインでの処理選択 */
%SELONLN{
var dovan[2];
var updown[2]; var fuzai[2]; var billchk[2]; var free [2];
var acceap[2]; var Acceap[7]; var preser[2];
var redial[2]; var Redial[4]; var timer[2];
var calami[2]; var Calami[4]; var ap[20]; var PERFORM[3];
dovan:= {1};
updown:=@case(UPDOWN={No},{Yes},{im({2})},,{im({1})});
fuzai:= {2};
billchk:=@case(BILLCHK, {Yes},{im({1})},,{im({2})});
free:= {3};
acceap:=@case(ACCEAP, {1200},{im({1})},
{2400},{im({2})},
{PC-VAN+},{im({3})},,{im({2})});
preser:=@case(PRESER={Yes},{Yes},{im({1})},,{im({2})});
redial:=@case (REDIAL,
{5}, {im({1})},
{10}, {im({2})},
{30}, {im({3})},
{9999}, {im({4})},,{im({4})});
timer:= {1};
calami:= @case(CALAMI, {PVAP},{im({2})},
{MOPT},{im({3})},
{POFF},{im({4})},,{im({1})});
loop({
%UFilechk @case (@filechk(TEMPPATH|{\PVAPUP.DAT}),
{Yes}, {im({あり})},
{No}, {im({なし})});
%DFilechk @case (@filechk(TEMPPATH|{\PVAPDOWN.DAT}),
{Yes}, {im({あり})},
{No}, {im({なし})});
SNDMSG({erande_f.snd});
footnote({現在のユーザー設定ファイル }|SETFILE1|
{ PC-VANでの処理設定ファイル }|SETFILE2);
%a @plane(
{c通信条件を設定して下さい\n}|
{r自動通信処理 /する /強制巡回 /しない\n}|
{rアップ・ダウンロード処理 /する /しない \n}|
{s アップロード予約『}|UFilechk|{』}|
{/ 予約追加 / 確認・変更 \n}|
{s ダウンロード予約『}|DFilechk|{』}|
{/ 予約追加 / 確認・変更 \n}|
{r不在通知の解除 /する /しない \n}|
{r課金情報の確認 /する /しない \n}|
{rログの保存 /する /しない \n}|
{r自由行動 /最初 /最後 /しない\n}|
{rアクセスするAP /1200bps /2400bps /PC-VAN+\n}|
{rリダイアル回数 /5 /10 /30 /無限\n}|
{r通信終了時 /PVAP継続 /PVAP終了 /MOPT終了 /電源切断\n}|
{r開始時間 /即開始 /指定時刻 \n}|
{s/ 開始 / 戻る \n},
dovan,updown,fuzai,billchk,preser,free,acceap,
redial,calami,timer);
dovan:= @head(@getline(a,1,1),{\n});
updown:=@head(@getline(a,2,1),{\n});
fuzai:= @head(@getline(a,5,1),{\n});
billchk:=@head(@getline(a,6,1),{\n});
preser:=@head(@getline(a,7,1),{\n});
free:= @head(@getline(a,8,1),{\n});
acceap:=@head(@getline(a,9,1),{\n});
redial:=@head(@getline(a,10,1),{\n});
calami:=@head(@getline(a,11,1),{\n});
timer:= @head(@getline(a,12,1),{\n});
DOVAN:= @case (dovan,
{ 1},{im({Yes})},
{ 2},{im({FORCE})},
{ 3},{im({No})});
BPS:= @case (acceap,
{ 1},{im({1200})},
{ 2},{im({2400})},
{ 3},
{case (@getchar(@nth(MODEM,2,{_}),1,4)=
{1200}, {Yes},{im({1200})},
{No},{im({2400})})});
Acceap:=@case (acceap,
{ 1},{im({1200})},
{ 2},{im({2400})},
{ 3},{im({PC-VAN+})});
Redial:=@case (redial,
{ 1},{im({5})},
{ 2},{im({10})},
{ 3},{im({30})},
{ 4},{im({9999})});
Calami:=@case (calami,
{ 1},{im({CONT})},
{ 2},{im({PVAP})},
{ 3},{im({MOPT})},
{ 4},{im({POFF})});
%upkak @head(@getline(a,3,1),{\n});
%downkak@head(@getline(a,4,1),{\n});
%ok @head(@getline(a,13,1),{\n});
case(ok,{ 1}, {case(@setforce,{Yes},online,{No},{im({Yes})})},
{ 2}, {im({No})},,
{case(upkak, { 1},{setcdir(DIR1);#PVAPUSET.PLP},
{ 2},{setcdir(DIR1);#PVAPUKAK.PLP});
case(downkak, { 1},{setcdir(DIR1);#PVAPDSET.PLP},
{ 2},{setcdir(DIR1);#PVAPDKAK.PLP});
case (ok={ 0}&&upkak={ 0}&&downkak={ 0},
{Yes},{im({No})},{No},{im({Yes})})});
});
};
%setforce{
case (DOVAN,
{FORCE},
{SNDMSG({erande_f.snd});
footnote({強制巡回のタイプを選択して下さい});
select({強制巡回のタイプを選択して下さい},
99999,{im({No})},
{ 設定場所全巡回 },{DOVAN:={ALL};im({Yes})},
{ SIG全巡回 },{DOVAN:={SIG};im({Yes})},
{ BBS全巡回 },{DOVAN:={BBS};im({Yes})},
{ CUG全巡回 },{DOVAN:={CUG};im({Yes})},
{ 日付無視 },{DOVAN:={DAY};im({Yes})},
{ 時間無視 },{DOVAN:={TIME};im({Yes})},
{ 戻る },{im({No})})},,{im({Yes})});
};
%online{
%online2{
setcdir(DIR1);#PVAPLGIN.PLP;
case(fuzai, { 1},{FUZAI});
case(free, { 1},{setcdir2(DIR1);#PVAPFREE.PLP});
case(updown, { 1},{UPDOWNLOAD});
logsave;
setcdir2(DIR1);#PVAPLOOP.PLP;
case(billchk, { 1},{BILL1});
case(free, { 2},{setcdir2(DIR1);#PVAPFREE.PLP});
LOGOUT;
};
TIMER:={No};
PERFORM:={Yes};
TITCHECK:={No};
case(timer, { 2}, {setcdir2(DIR1);#PVAPWAIT.PLP});
case(PERFORM, {Yes},{online2;im({No})},,{im({Yes})});
};
/* 実行 */
SELONLN;